package com.itheima.service;

import com.itheima.entity.PageResult;
import com.itheima.entity.QueryPageBean;
import com.itheima.entity.Result;
import com.itheima.pojo.Order;
import com.itheima.pojo.Sorting;

import java.util.List;
import java.util.Map;

/**
 * @author 吴
 * @version V1.0
 * @Description  预约处理
 * @Package com.itheima.service
 * @date 2021/11/27 13:15
 */
public interface OrderService {

    /**
     * 提交预约信息
     * @param map
     */
    Result saveOrderInfo(Map<String,String> map) throws Exception;

    /**
     *  根据预约Id 查询 （体检人名、体检套餐名、体检日期、预约类型）
     * @param orderId  预约Id
     */
    Order findMemberSetmealByOrderId(Integer orderId);


    /**
     *根据日期查询当月的已到诊人数和每个人的套餐费用
     * @param beforeDates 之前12个月的日期 格式：2021-11
     * @return
     */
    List<Integer> findOrderCountAndSetmealNameByBeforeDate(String[] beforeDates);

    /**
     * 根据当前时间查询之前12月每月的预约数量和支付数量
     * @param beforeDates
     * @return
     */
    List<Map> findCountAndPay(String[] beforeDates);

    /**
     * 查询所有分院
     * @return
     */
    List<Sorting> findSortings();

    /**
     * 查询所有预约信息
     * @param queryPageBean
     * @return
     */
    PageResult selectByCondition(Map<String,String> queryPageBean);


    /**
     * 根据id查询数据并回显
     * @param orderId
     * @return
     */
    Map<String, Object> findById(Integer orderId);

    /**
     * 修改预约
     * @param map
     * @return
     */
    Result editOrderInfo(Map<String, String> map) throws Exception;


    /**
     * 修改到诊状态
     * @param map
     */
    void changeStatus(Map<String,Object> map);
}
